﻿#include "Int2Bytes.h"
#include <stdint.h>
#include <cstddef>

// int → 大端字节序

bool IntToBytesBe(uint32_t value, uint8_t *bytes, int len)
{
    if (bytes == NULL || len < 4) {
        return false; // 或者返回错误码
    }
    bytes[0] = (uint8_t)(value >> 24);
    bytes[1] = (uint8_t)(value >> 16);
    bytes[2] = (uint8_t)(value >> 8);
    bytes[3] = (uint8_t)(value & 0xFF);
    return true;
}

// int → 小端字节序
bool IntToBytesLe(uint32_t value, uint8_t *bytes, int len)
{
    if (bytes == NULL || len < 4)
    {
        return false; // 或者返回错误码
    }
    
    bytes[0] = (uint8_t)(value & 0xFF);
    bytes[1] = (uint8_t)(value >> 8);
    bytes[2] = (uint8_t)(value >> 16);
    bytes[3] = (uint8_t)(value >> 24);

    return true;
}
